<?php
/*
*   错误处理
*/
namespace hyang\traits;
trait Error{
    // 请求页不存在
    public static function unfindError($page)
    {
        if(self::$Pattern != 'P'){
            $tip = '<span style="color:red;">'.$page.'请求页不存在！</span>';
            self::SysInfoError($tip);
        }
        else $page.'请求页不存在！';
        die;
    }
    // 路由器错误-提示
    public static function routerError($e)
    {
        if(self::$Pattern != 'P'){
            //debug($e,true);
            $tip = '
                <br>错误信息: <b>'.$e->getMessage().'</b>
                <br>错误来源: <b>'.$e->getFile().'('.$e->getLine().')</b>
                '.($e->getCode()? '<br>代码'.($e->getCode()):'').'
                <h5>其他</h5>'.nl2br($e->getTraceAsString()).'
            ';
            self::SysInfoError($tip);
        }
        die;
    }
    // 系统错误详情
    public static function SysInfoError($tip)
    {        
        echo '
            <title>系统错误调试页面-Hyang</title>
            <h4>错误描述</h4>
            <div style="background:#00CC00;padding-left:50px;">
                '.$tip.'
            </div>
        ';
        echo '
            <h4>请求参数</h4>
            <br>原始请求参数：'.self::$Source.'
            <br>控制名称：'.self::$Controller.'
            <br>操作对象：'.self::$Action.'
            <br>当前APP路径：'.self::$AppRoot.'
            <br>时间：'.date('Y-m-d H:i:s').'
        ';
                
        echo '
            <h4>系统常量</h4>
            <div>
                <pre>
                    '.print_r(get_defined_constants(true)['user'],true).'
                </pre>
            </div>
        ';

        echo '
            <h4>_SERVER</h4>
            <div>
                <pre>
                    '.print_r($_SERVER,true).'
                </pre>
            </div>
        ';
    }
}